package com.bookocean.domain.repository;

import com.bookocean.controller.dto.UserInfoDto;

/**
 * 用户仓储接口
 * 
 * @author BookOcean
 * @since 2024-01-01
 */
public interface UserRepository {

    /**
     * 根据用户ID获取用户信息
     * 
     * @param userId 用户ID
     * @return 用户信息
     */
    UserInfoDto getUserById(Long userId);

    /**
     * 根据用户ID获取用户昵称
     * 
     * @param userId 用户ID
     * @return 用户昵称
     */
    String getUserNickname(Long userId);

    /**
     * 根据用户ID获取用户头像
     * 
     * @param userId 用户ID
     * @return 用户头像URL
     */
    String getUserAvatar(Long userId);

    /**
     * 根据用户ID获取用户称号
     * 
     * @param userId 用户ID
     * @return 用户称号
     */
    String getUserTitle(Long userId);
}
